home *** CD-ROM | disk | FTP | other *** search
/ Amiga Tools 2 / Amiga Tools 2.iso / rexx / startdviprint.sd < prev    next >
Text File  |  1995-03-15  |  2KB  |  102 lines

  1. /*
  2.  *    StartDVIprint.sd
  3.  *
  4.  * This is a small hack to run DVIprint from ShowDVI.
  5.  *
  6. NOTES:
  7.  *
  8.  * You must have set the printer name in ENV:DVIprint for this to
  9.  * work, or the default (generic) printer will be used.
  10.  *
  11.  * 'TeX:bin/DVIprint' is used to find DVIprint. Otherwise it would
  12.  * have to be in your RexxMast path...
  13.  *
  14.  */
  15.  
  16. LF = '0A'X
  17.  
  18.  
  19. ADDRESS COMMAND 'version >nil: exec.library 36'
  20. IF RC ~= 0 THEN CONWINDOW = "CON:20/30/430/100/DVIprint--Output"
  21.        ELSE CONWINDOW = "CON:20/30/430/100/DVIprint--Output/AUTO/CLOSE/WAIT/SCREENShowDVI-PubScr"
  22.  
  23.  
  24. OPTIONS RESULTS
  25.  
  26. getfile
  27. loadedfile = RESULT
  28. getdir
  29. loadeddir = RESULT
  30. getpage
  31. page = RESULT
  32.  
  33. IF RIGHT(loadeddir,1)~='/' & RIGHT(loadeddir,1)~=':' THEN
  34.     loadeddir = loadeddir||'/'
  35.  
  36. IF upper(right(loadedfile,4)) ~= ".DVI" THEN
  37.     loadedfile = loadedfile||".dvi"
  38.  
  39. IF loadedfile = "" | ~exists(loadeddir||loadedfile) THEN DO
  40.     Message "Which file should I print?"
  41.     EXIT
  42.     END
  43.  
  44. IF show('P','dviprint') THEN DO
  45.     Message "DVIprint is already running, please wait"
  46.     EXIT
  47.     END
  48.  
  49. /*hes: it would be nice to know how many pages the document has... */
  50.  
  51. okay2 "Print all pages with the predefined draft-modus?"
  52. IF RESULT ~= 1 THEN 
  53.  
  54.   DO
  55.     getnumber page "Print from page?"
  56.     IF 0=RC THEN from = RESULT
  57.         ELSE DO 
  58.             Message "Print cancelled!"
  59.             EXIT 0
  60.              END
  61.  
  62.     getnumber page "Print upto page?"
  63.     IF 0=RC THEN to = RESULT
  64.         ELSE DO 
  65.             Message "Print cancelled!"
  66.             EXIT 0
  67.              END
  68.  
  69.     okay2 "Should I print in draft mode?"
  70.     IF RESULT = 1 THEN draft = "on"
  71.               ELSE draft = "off"
  72.  
  73.  
  74.     str = "Should I start the print"||LF||"  of file '"loadedfile"'"LF||"  from page "from" to page "to||LF
  75.  
  76.     IF draft = "on" THEN str = str||"  in draft mode?"
  77.             ELSE str = str||"  in HQ mode?"
  78.  
  79.     okay2 str
  80.     IF RESULT = 0 THEN DO 
  81.                   Message "Print cancelled!"
  82.                   EXIT 0
  83.                END
  84.  
  85.  
  86.     Message "calling DVIprint."
  87.  
  88.     ADDRESS COMMAND 'TeX:bin/DVIprint' ">"CONWINDOW" from "from" to "to" draft "draft loadeddir||loadedfile
  89.     IF 0~= RC THEN Message "DVIprint failed."
  90.   END
  91.  
  92. ELSE
  93.  
  94.   DO
  95.     Message "calling DVIprint."
  96.  
  97.     ADDRESS COMMAND 'TeX:bin/DVIprint' ">"CONWINDOW " " loadeddir||loadedfile
  98.     IF 0~= RC THEN Message "DVIprint failed."
  99.   END
  100.  
  101. EXIT
  102.